---
title: clsPolicyPeriod
summary: API reference for clsPolicyPeriod.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# clsPolicyPeriod

`clsPolicyPeriod` represents a single policy period (effective/expiration dates, status) belonging
to a policy. It has no independent SQL retrieval of its own for the standard case — it is populated
exclusively by its parent collection, `clsPolicyPeriodCollection`, via `Load(...)` during
`AfterRetrieve`; the sole ad hoc exception is `RetrieveEmployerLiabLimits()`, a separate call for
coverage-limit detail.

## Purpose
- Represents one policy period's effective/expiration dates and status.
- Provides an ad hoc retrieval, `RetrieveEmployerLiabLimits()`, for employer-liability coverage limits scoped to this period ([SQL-VP-021](../../sql/SQL-021-retrieveemployerliablimits.md)).

## Context
- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.Business.View.Policy` (embedded library reference)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `PolicyPeriodEffDate` | `Property PolicyPeriodEffDate As Date` | The effective date of this policy period. |
| `PolicyPeriodExpDate` | `Property PolicyPeriodExpDate As Date` | The expiration date of this policy period. |
| `RetrieveEmployerLiabLimits` | `Sub RetrieveEmployerLiabLimits()` | Retrieves employer-liability coverage limits for this period via [SQL-VP-021](../../sql/SQL-021-retrieveemployerliablimits.md). |

## Inherited public members

Members in this section are inherited from `clsBusinessBase` in `saif.framework.core`. They are
available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `Rules` | `Property Rules As clsRulesManager` | Owns the rule-registration/enforcement engine for this object.† | `saif.framework.core` — `clsBusinessBase` |
| `BeginEdit` | `Sub BeginEdit()` | Opens an in-memory editing scope for this object.† | `saif.framework.core` — `clsBusinessBase` |
| `CancelEdit` | `Sub CancelEdit()` | Rolls back an in-memory editing scope for this object.† | `saif.framework.core` — `clsBusinessBase` |
| `ApplyEdit` | `Sub ApplyEdit()` | Commits an in-memory editing scope for this object.† | `saif.framework.core` — `clsBusinessBase` |
| `Error` (via `IDataErrorInfo`) | `ReadOnly Property Error As String` | Surfaces broken-rule state to data-bound UI controls.† | `saif.framework.core` — `clsBusinessBase` |

## Behavioral notes
- No standalone `Criteria.RetrieveSQL` exists on this class — population is exclusively via the parent collection's `Load` method ([SQL-VP-022](../../sql/SQL-022-getpolicyperiods.md)).

## Constraints and usage notes
- `RetrieveEmployerLiabLimits()` should be called only after the period's basic fields are already populated by the parent collection.

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\clsPolicyPeriod.vb`
